perm filename ERRATA.TEX[TEX,DEK]36 blob
sn#795820 filedate 1985-06-14 generic text, type T, neo UTF8
% More bugs (sigh) in The TeXbook
\input manmac
\proofmodefalse
\raggedbottom
\output{\onepageout{\unvbox255\kern-\dimen@ \vfil}}
\def\rhead{Bugs in {\tensl The \TeX book}, second printing}
\def\bugonpage#1(#2) \par{\bigbreak\tenpoint
\hrule\line{\lower3.5pt\vbox to13pt{}Page #1\hfil(#2)}\hrule\nobreak\medskip}
\noindent This is a list of all corrections made to {\sl The \TeX book\/}
since the second printing. If your copy doesn't say `{\sl\kern-1pt Second
printing (October 1984)\/}' on the copyright page, you should also look at
the previous bug list. In fact, the most important corrections to the
first printing were discovered first, so they've already been~made.
\bugonpage 23, line 16 (10/13/84)
\tenpoint\indent
|This is TeX, Version 1.0 (preloaded format=plain 83.7.15)|
\bugonpage 33, line 32 (10/21/84)
The bottom line shows how far \TeX\ has gotten until now in the
|story|{\parfillskip=0pt\par}
\bugonpage 67, append a new exercise (1/19/85)
\exno=5 \def\chapno{11}
\gdef\frac#1/#2{\leavevmode\kern.1em
\raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em
/\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}}
\ddangerexercise Construct a |\frac| macro such that `|\frac1/2|' yields
`\frac1/2'.
\bugonpage 130, line 15 (4/17/85)
\beginmathdemo
|$y'''_3+g'↑2$|&y'''_3+g'{}↑2\cr
\endmathdemo
\bugonpage 170, line 5 (5/28/85)
\ninepoint
\line{tall, unslanted
letter; and so on. But two of the examples involve corrections that were}
\bugonpage 194, lines 13--15 should be centered better (10/22/84)
\ninepoint
$$\displaylines{\hfill x\equiv x;\hfill\llap{(1)}\cr
\hfill\hbox{if}\quad x\equiv y\quad\hbox{then}\quad
y\equiv x;\hfill\llap{(2)}\cr
\hfill\hbox{if}\quad x\equiv y\quad\hbox{and}\quad
y\equiv z\quad\hbox{then}\quad
x\equiv z.\hfill\llap{(3)}\cr}$$
\bugonpage 215, lines 9 and 10 from the bottom (12/23/84)
\ninepoint\noindent
general format
is the same as for |\def| and |\gdef|, but \TeX\ blindly expands the tokens
of the replacement text according to the expansion rules above. For
example, consider
\bugonpage 233, lines 15--19 (1/19/85)
\settabs\+\indent&10\frac1/2 lbs.\qquad&\it Servings\qquad&\cr
\+&\negthinspace\it Weight&\it Servings&
{\it Approximate Cooking Time\/}*\cr
\smallskip
\+&8 lbs.&6&1 hour and 50 to 55 minutes\cr
\+&9 lbs.&7 to 8&About 2 hours\cr
\+&9\frac1/2 lbs.&8 to 9&2 hours and 10 to 15 minutes\cr
\+&10\frac1/2 lbs.&9 to 10&2 hours and 15 to 20 minutes\cr
\bugonpage 236, lines 18--21 (1/19/85)
\ninepoint
$$\vbox{\openup2pt
\halign{\hfil\bf#&\quad\hfil\it#\hfil&\quad\hfil#\hfil&
\quad\hfil#\hfil&\quad#\hfil\cr
Squab&Poussin&2&\frac3/4 to 1&Broil, Grill, Roast\cr
Broiler&Poulet Nouveau&2 to 3&1\frac1/2 to 2\frac1/2&Broil, Grill, Roast\cr
Fryer&Poulet Reine&3 to 5&2 to 3&Fry, Saut\'e, Roast\cr
Roaster&Poularde&5\frac1/2 to 9&Over 3&Roast, Poach, Fricassee\cr}}$$
[This change should also be made at the bottom of page 237.]
\bugonpage 236, fifth-last line (1/19/85)
\ninepoint
| Squab&Poussin&2&\frac3/4$ to 1&Broil, Grill, Roast\cr|
\bugonpage 237, line 25 (10/10/84)
\ninepoint\noindent
saying `↑|\tabskip||=|\<glue>'. For example,
let's do the poultry table again, but with the{\parfillskip=0pt\par}
\bugonpage 280, lines 7 and 8 (1/8/85)
\ninepoint\noindent
\<4-bit number>.\enskip
The specified output stream is opened or closed, for use in |\write|
commands, as explained in Chapter~21.
\bugonpage 300, lines 5--10 [changed for version 1.3] (11/25/84)
\ninepoint\noindent
what part of \TeX's memory has become overloaded;
one of the following fourteen things will be mentioned:
\begindisplay
|number of strings|\qquad(names of control sequences and files)\cr
|pool size|\qquad(the characters in such names)\cr
|main memory size|\qquad(boxes, glue, breakpoints, token lists,
characters, etc.)\cr
\enddisplay
\bugonpage 300, lines 23--29 [changed for version 1.3] (11/25/84)
\danger If you have a job that doesn't overflow \TeX's capacity, yet
you want to see just how closely you have approached the limits,
just set ↑|\tracingstats| to a positive value before the end of your
job. The log file will then conclude with a report on your actual
usage of the first eleven things named above (i.e., the number of strings,
\dots, the save size), in that order. ↑↑{stack positions}
Furthermore, if you set |\tracingstats| equal to 2~or~more, \TeX\
will show its current memory usage whenever it
does a ↑|\shipout| command. Such statistics are broken into two
parts; `|490&5950|' means, for example, that 490 words are being used
for ``large'' things like boxes, glue, and
breakpoints, while 5950 words are being used for ``small'' things like
tokens and characters.
\bugonpage 305, line 26 (12/24/84)
\ninepoint\noindent
sentable as |↑↑M|. Asking \TeX\ to |\show\↑↑M|
\looseness-1
produces the response `|>| |\↑↑M=macro:->\|\]|.|'.
\bugonpage 308, line 25 (3/25/85)
\ninepoint\indent
|\def\appendroman#1#2#3{\edef#1{\def\noexpand#1{\csname|
\bugonpage 311, insert a new answer (1/19/85)
\ninepoint
\ansno11.6:
|\def\frac#1/#2{\leavevmode\kern.1em|\parbreak
|\raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em|\parbreak
|/\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}}|
\smallskip\noindent[This causes answer 12.8 to move to page 312;
answer 12.16 also moves to page 313.]
\bugonpage 327, lines 26--33 (10/22/84)
\ninepoint
\ansno19.16:
|$$\displaylines{\hfill x\equiv x;\hfill\llap{(1)}\cr|\parbreak
| \hfill\hbox{if}\quad x\equiv y\quad\hbox{then}\quad|\parbreak
| y\equiv x;\hfill\llap{(2)}\cr|\parbreak
| \hfill\hbox{if}\quad x\equiv y\quad\hbox{and}\quad|\parbreak
| y\equiv z\quad\hbox{then}\quad|\parbreak
| x\equiv z.\hfill\llap{(3)}\cr}$$|\par\medskip\noindent
There's also a trickier solution, which begins with
\begintt
$$\displaylines{x\equiv x;\hfil\llap{(1)}\hfilneg\cr
\endtt
\bugonpage 332, lines 17--24 (1/19/85)
\ninepoint
\begintt
\settabs\+\indent&10\frac1/2 lbs.\qquad&\it Servings\qquad&\cr
\+&\negthinspace\it Weight&\it Servings&
{\it Approximate Cooking Time\/}*\cr
\smallskip
\+&8 lbs.&6&1 hour and 50 to 55 minutes\cr
\+&9 lbs.&7 to 8&About 2 hours\cr
\+&9\frac1/2 lbs.&8 to 9&2 hours and 10 to 15 minutes\cr
\+&10\frac1/2 lbs.&9 to 10&2 hours and 15 to 20 minutes\cr
\endtt
\bugonpage 332, lines 33--35 (1/19/85)
\ninepoint\noindent
proofs. \ (You weren't supposed to think of this,
but it has to be mentioned.) \ See exercise 11.\fracexno\ for the `|\frac|'
macro; it's better to say `\frac1/2' than `$1\over2$', in a cookbook.\par
Another way to treat this table would be to display it in a vbox, instead
of including a first column whose sole purpose is to specify indentation.
\bugonpage 357, lines 35 and 36 (1/8/85)
\ninepoint\noindent
|\def\*{\discretionary{\thinspace\the\textfont2\char2}{}{}}|
\bugonpage 357, last two lines (4/17/85)
\ninepoint\noindent
|\def\pr@m@s{\ifx'\next\let\next\pr@@@s|%
| \else\ifx↑\next\let\next\pr@@@t|\par\noindent
| \else\let\next\egroup\fi\fi \next}|\par\noindent
|\def\pr@@@s#1{\prim@s} \def\pr@@@t#1#2{#2\egroup}|
\bugonpage 358, lines 8--12 (1/23/85)
\ninepoint\noindent
|\def\hbar{{\mathchar'26\mkern-9muh}}|\hfil\break\null
|\def\surd{{\mathchar"1270}}|\hfil\break\null
|\def\angle{{\vbox{\ialign{$\m@th\scriptstyle##$\crcr|\hfil\break\null
| \not\mathrel{\mkern14mu}\crcr \noalign{\nointerlineskip}|\hfil\break\null
| \mkern2.5mu\leaders\hrule height.34pt\hfill\mkern2.5mu\crcr}}}}|
\bugonpage 359, lines 7--8 (1/22/85)
\ninepoint\noindent
|\def\ddots{\mathinner{\mkern1mu\raise7pt\vbox{\kern7pt\hbox{.}}\mkern2mu|%
\hfil\break\null
| \raise4pt\hbox{.}\mkern2mu\raise1pt\hbox{.}\mkern1mu}}|
\bugonpage 360, line 22 (1/22/85)
\ninepoint\noindent
| \mkern5mu \raise.6\dimen@\copy\rootbox \mkern-10mu \box0}|
\bugonpage 361, line 3 (3/27/85)
\ninepoint\noindent
|\def\buildrel#1\over#2{\mathrel{\mathop{\kern0pt #2}\limits↑{#1}}}|
\bugonpage 361, lines 19--20 (1/22/85)
\ninepoint\noindent
|\def\bmod{\mskip-\medmuskip \mkern5mu|\hfil\break\null
| \mathbin{\rm mod} \penalty900 \mkern5mu \mskip-\medmuskip}|
\bugonpage 361, line 27 (5/1/85)
\ninepoint\noindent
|\def\matrix#1{\null\,\vcenter{\normalbaselines\m@th|
\bugonpage 361, bottom line (5/1/85)
\ninepoint\noindent
| \null\;\vbox{\kern\ht1\box2}\endgroup}|
\bugonpage 362, line 9 (5/1/85)
\ninepoint\noindent
|\def\eqalign#1{\null\,\vcenter{\openup1\jot \m@th|
\bugonpage 363, line 9 (5/12/85)
\ninepoint\noindent
|\def\footnote#1{\let\@sf=\empty % parameter #2 (the text) is read later|
\bugonpage 364, line 3 (3/23/85)
\ninepoint\noindent
|\def\plainoutput{\shipout\vbox{\makeheadline\pagebody\makefootline}%|
\bugonpage 399, eighth-last line (2/11/85)
\ninepoint\noindent
| \baselineskip=\footnotebaselineskip\noindent\unhbox0\par}|
\bugonpage 401, line 5 (1/29/85)
\ninepoint\noindent
{|\fontdimen| parameters to qualify as a math symbol font).
(2)~Set all the font identifiers\parfillskip=0pt\par}
\bugonpage 414, line 10 (12/17/84)
\ninepoint\noindent
|\font\titlefont=cmssdc40 % titles in chapter openings|
\bugonpage 444, bottom line (1/10/85)
\ninepoint\noindent
depth $d(z)+v$, consisting
of box~$x$ followed by an appropriate kern followed by box~$z$.
\bugonpage 466, left column (1/19/85)
\eightpoint
fractions, 67, 139--143, 152, 170, 179,\par
\qquad 186, 444--445.\par
\quad huge, 196.\par
\quad slashed form, 67, 139--140, 233, 236.
\bugonpage 467, index entry for {\tt\char`\\hsize} (6/14/85)
Add a reference to page {\it 60}.
\bugonpage 470, index entries for {\tt\char`\\longleftarrow}
thru {\tt\char`\\Longrightarrow} (10/5/84)
The references to page 358 should be underlined (seven times).
\bugonpage 475, index entry for punctuation in formulas (4/29/85)
Add a reference to page 161.
\bugonpage 478, first and last lines (10/11/84)
\ninepoint\noindent Delete the last line in the right-hand column
(since it appears on page 479), and add the following line
at the top of the left-hand column (since it was dropped by mistake
from the second printing):
\smallskip
\eightpoint styles of math formatting, 140--141, 441--447.
\bugonpage 478, new entry after tabbing (5/28/85)
\eightpoint
Tables, {\sl see\/} alignments, tabbing.
\bugonpage 478, tabskip entries (3/25/85)
\eightpoint\noindent Instead of `237--239' and `237--238' it should say
`$\underline{237}$--$\underline{239}$' twice.
\bugonpage 483, lines 16--17 (1/19/85)
|P.O. Box 9506|\parbreak
|Providence RI 02940-9506, USA.|
\bugonpage 483, lines 22--23 (1/19/85)
P.O. Box 9506\par
Providence RI 02940-9506, USA.
\bye